In the field of data communications, a current trend is the use of smaller scale appliances to perform specific network functions. Functions suited to this network architecture are typically ones that require relatively small amounts of processing capacity spread around the network in different geographic locations. These types of applications which include firewall/security applications or content routing (among many other networking functions), are in many cases not best served by large backplane based systems. A common architecture for a networking appliance is to build the system around a commodity computer (PC) motherboard. The motherboard provides the appliance with a relatively inexpensive yet powerful processing complex. Customizations can be added to the appliance by connecting (or plugging in) expansion cards to an expansion bus present in the system. The expansion bus may be PCI, PCI Express, Hypertransport or any expansion bus present in on a PC motherboard. The mix of expansion cards present in the system will depend on the application and capacity of the appliance and could be other commodity cards such as a network adaptor or custom hardware accelerators specific to the application for which the appliance is designed. The networking appliance architecture described above has many advantages from a cost of goods, cost of development and time to market points of view; the fast pace of innovation in the PC market place also provides almost constant improvements in performance. For the cost of qualifying the latest motherboard/processor combination and incorporating it into the system a performance gain can be realized. However networking appliances of this architecture are often deficient when it comes to user serviceability of field replaceable components and upgrade of system components when compared to larger custom designed backplane based systems. The scalability of a system based on a commodity motherboard may also be limited based on the application and the required number of expansion cards; PC motherboards typically have a limited number of expansion slots. Manufacturers of networking appliances of the type described above also incur added complications to supply chain and product lifecycle management as a result of the accelerated lifecycle common with commodity hardware components. Relative to custom designed components, commodity components require constant design effort to qualifying new hardware components to replace parts that have reached the end of their product lifecycle.
Methods of improving the serviceability of cards plugged into the expansion bus of a computer system are described in U.S. Pat. No. 7,236,358 herein included by reference; here the expansion bus of the system is extended to a backplane that is accessible from the rear of the chassis. A system configured as such would require many vertical units of datacenter rack space due to the length of the expansion cards; in order to achieve a reasonable volumetric efficiency of processing power per unit of rack space multiple processing complexes must be combined into a single chassis. The present invention improves upon this by providing a method by which a single processor complex can have a serviceable expansion bus in a smaller form factor (4 vertical rack units or less).
Other standard computer form factors designed for embedded markets such as the PCI Industrial Computer Manufactures Group (PICMG) standard 1.3 herein included by reference, provide more slots than standard commodity PC motherboards but suffer from the same user serviceability and upgradeability issues. Systems built around specialty motherboards (such as those designed to the PICMG 1.3 specification) also tend to be more expensive because they are not produced in the same volumes as commodity motherboards. The present invention provides a method of customizing and enhancing the expansion bus of a system to allow the number and types of slots present on the expansion bus and the connectivity between them to be extended and configured in an application specific way similar to systems based on the PICMG 1.3 standard. The techniques presented here improve upon systems based on the PICMG specifications by providing a solution that is more easily serviceable in the field and is based on commodity components making it more cost effective.